package com.ethink.warehouse.api.enums;

import com.ethink.framework.common.constant.ColumnEnum;


/**
 * 仓库入库单 枚举 入库类型: 1-生产入库(t1)|2-采购入库(t2)|3-调拨入库(t3)|4-其他入库(t4)|5-B2B入库(t5)|6-领用入库(t6)|7-残次品入库(t7)|8-虚拟入库(t8)
 *
 * @author default
 * @date 2022-12-05
 */
public enum StockInOrderInStockTypeEnum implements ColumnEnum {

    /** 生产入库 */
    T1(1, "生产入库"),

    /** 采购入库 */
    T2(2, "采购入库"),

    /** 调拨入库 */
    T3(3, "调拨入库"),

    /** 其他入库 */
    T4(4, "其他入库"),

    /** B2B入库 */
    T5(5, "B2B入库"),

    /** 领用入库 */
    T6(6, "领用入库"),

    /** 残次品入库 */
    T7(7, "残次品入库"),

    /** 虚拟入库 */
    T8(8, "虚拟入库"),

    ;

    /**
     * 枚举int值
     */
    private Integer intValue;

    /**
     * 枚举名称
     */
    private String name;

    /**
     * 构造方法
     *
     * @param intValue
     * @param name
     */
    StockInOrderInStockTypeEnum(Integer intValue, String name) {
        this.intValue = intValue;
        this.name = name;
    }

    /**
     * 枚举int值
     *
     * @return
     */
    @Override
    public Integer getIntValue() {
        return intValue;
    }

    /**
     * 枚举名称
     *
     * @return
     */
    @Override
    public String getName() {
        return name;
    }

    /**
     * 枚举int值获取枚举
     * @param intValue
     * @return
     */
    public static StockInOrderInStockTypeEnum valueOf(Integer intValue) {
        for (StockInOrderInStockTypeEnum value : StockInOrderInStockTypeEnum.values()) {
            if(value.getIntValue().equals(intValue)) {
                return value;
            }
        }
        return null;
    }
}
